]> shimmer.witbreuk.eu Git - UltimateKEYS.git/blob - UltimateKEYS SW - 2020-05-17.ahk
Delete UltimateKEYS SW - 2020-05-16.klc
[UltimateKEYS.git] / UltimateKEYS SW - 2020-05-17.ahk
1 ; UltimateKEYS SW - 2020-05-17.ahk
2
3 ; Created by : Pieter Degroote
4
5 ; License : GNU General Public License Version 3
6
7 ; Website : https://github.com/pieter-degroote/UltimateKEYS
8
9
10 ; Requirements :
11
12 ; Keyboard layout (on Windows OS) : US QWERTY
13
14 ; AutoHotkey v1.1 (https://www.autohotkey.com/)
15
16
17
18 ; Dead Key : Circumflex Accent
19
20 dkCircumflex := ComObjCreate("Scripting.Dictionary")
21 dkCircumflex.item("a") := "â" ; (u+00e2) a with circumflex
22 dkCircumflex.item("A") := "Â" ; (u+00c2) A with circumflex
23 dkCircumflex.item("c") := "ĉ" ; (u+0109) c with circumflex
24 dkCircumflex.item("C") := "Ĉ" ; (u+0108) C with circumflex
25 dkCircumflex.item("e") := "ê" ; (u+00ea) e with circumflex
26 dkCircumflex.item("E") := "Ê" ; (u+00ca) E with circumflex
27 dkCircumflex.item("g") := "ĝ" ; (u+011d) g with circumflex
28 dkCircumflex.item("G") := "Ĝ" ; (u+011c) G with circumflex
29 dkCircumflex.item("h") := "ĥ" ; (u+0125) h with circumflex
30 dkCircumflex.item("H") := "Ĥ" ; (u+0124) H with circumflex
31 dkCircumflex.item("i") := "î" ; (u+00ee) i with circumflex
32 dkCircumflex.item("I") := "Î" ; (u+00ce) I with circumflex
33 dkCircumflex.item("j") := "ĵ" ; (u+0135) j with circumflex
34 dkCircumflex.item("J") := "Ĵ" ; (u+0134) J with circumflex
35 dkCircumflex.item("o") := "ô" ; (u+00f4) o with circumflex
36 dkCircumflex.item("O") := "Ô" ; (u+00d4) O with circumflex
37 dkCircumflex.item("s") := "ŝ" ; (u+015d) s with circumflex
38 dkCircumflex.item("S") := "Ŝ" ; (u+015c) S with circumflex
39 dkCircumflex.item("u") := "û" ; (u+00fb) u with circumflex
40 dkCircumflex.item("U") := "Û" ; (u+00db) U with circumflex
41 dkCircumflex.item("w") := "ŵ" ; (u+0175) w with circumflex
42 dkCircumflex.item("W") := "Ŵ" ; (u+0174) W with circumflex
43 dkCircumflex.item("y") := "ŷ" ; (u+0177) y with circumflex
44 dkCircumflex.item("Y") := "Ŷ" ; (u+0176) Y with circumflex
45 dkCircumflex.item("z") := "ẑ" ; (u+1e91) z with circumflex
46 dkCircumflex.item("Z") := "Ẑ" ; (u+1e90) Z with circumflex
47
48 ; Smart error-tolerant optimization for circumflex in French (begin)
49
50 dkCircumflex.item("ä") := "â" ; (u+00e2) a with circumflex
51 dkCircumflex.item("Ä") := "Â" ; (u+00c2) A with circumflex
52 dkCircumflex.item("ë") := "ê" ; (u+00ea) e with circumflex
53 dkCircumflex.item("Ë") := "Ê" ; (u+00ca) E with circumflex
54 dkCircumflex.item("ï") := "î" ; (u+00ee) i with circumflex
55 dkCircumflex.item("Ï") := "Î" ; (u+00ce) I with circumflex
56 dkCircumflex.item("ö") := "ô" ; (u+00f4) o with circumflex
57 dkCircumflex.item("Ö") := "Ô" ; (u+00d4) O with circumflex
58 dkCircumflex.item("ü") := "û" ; (u+00fb) u with circumflex
59 dkCircumflex.item("Ü") := "Û" ; (u+00db) U with circumflex
60
61 ; Smart error-tolerant optimization for circumflex in French (end)
62
63 dkCircumflex.item("n") := "₦" ; (u+20a6) Nigerian naira
64 dkCircumflex.item("N") := "₦" ; (u+20a6) Nigerian naira
65 dkCircumflex.item("^") := "{^}" ; (u+005e) circumflex accent
66 dkCircumflex.item(" ") := "{^}" ; (u+005e) circumflex accent
67
68
69 ; Dead Key : Caron
70
71 dkCaron := ComObjCreate("Scripting.Dictionary")
72 dkCaron.item("a") := "ǎ" ; (u+01ce) a with caron
73 dkCaron.item("A") := "Ǎ" ; (u+01cd) A with caron
74 dkCaron.item("c") := "č" ; (u+010d) c with caron
75 dkCaron.item("C") := "Č" ; (u+010c) C with caron
76 dkCaron.item("d") := "ď" ; (u+010f) d with caron
77 dkCaron.item("D") := "Ď" ; (u+010e) D with caron
78 dkCaron.item("e") := "ě" ; (u+011b) e with caron
79 dkCaron.item("E") := "Ě" ; (u+011a) E with caron
80 dkCaron.item("g") := "ǧ" ; (u+01e7) g with caron
81 dkCaron.item("G") := "Ǧ" ; (u+01e6) G with caron
82 dkCaron.item("h") := "ȟ" ; (u+021f) h with caron
83 dkCaron.item("H") := "Ȟ" ; (u+021e) H with caron
84 dkCaron.item("i") := "ǐ" ; (u+01d0) i with caron
85 dkCaron.item("I") := "Ǐ" ; (u+01cf) I with caron
86 dkCaron.item("j") := "ǰ" ; (u+01f0) j with caron
87 dkCaron.item("k") := "ǩ" ; (u+01e9) k with caron
88 dkCaron.item("K") := "Ǩ" ; (u+01e8) K with caron
89 dkCaron.item("l") := "ľ" ; (u+013e) l with caron
90 dkCaron.item("L") := "Ľ" ; (u+013d) L with caron
91 dkCaron.item("n") := "ň" ; (u+0148) n with caron
92 dkCaron.item("N") := "Ň" ; (u+0147) N with caron
93 dkCaron.item("o") := "ǒ" ; (u+01d2) o with caron
94 dkCaron.item("O") := "Ǒ" ; (u+01d1) O with caron
95 dkCaron.item("r") := "ř" ; (u+0159) r with caron
96 dkCaron.item("R") := "Ř" ; (u+0158) R with caron
97 dkCaron.item("s") := "š" ; (u+0161) s with caron
98 dkCaron.item("S") := "Š" ; (u+0160) S with caron
99 dkCaron.item("t") := "ť" ; (u+0165) t with caron
100 dkCaron.item("T") := "Ť" ; (u+0164) T with caron
101 dkCaron.item("u") := "ǔ" ; (u+01d4) u with caron
102 dkCaron.item("U") := "Ǔ" ; (u+01d3) U with caron
103 dkCaron.item("v") := "ǚ" ; (u+01da) u with diaeresis and caron
104 dkCaron.item("V") := "Ǚ" ; (u+01d9) U with diaeresis and caron
105 dkCaron.item("z") := "ž" ; (u+017e) z with caron
106 dkCaron.item("Z") := "Ž" ; (u+017d) Z with caron
107 dkCaron.item("#") := "ǯ" ; (u+01ef) small letter ezh with caron
108 dkCaron.item("3") := "Ǯ" ; (u+01ee) capital letter ezh with caron
109
110 ; Smart error-tolerant optimization for circumflex in French (begin)
111
112 dkCaron.item("ä") := "â" ; (u+00e2) a with circumflex
113 dkCaron.item("Ä") := "Â" ; (u+00c2) A with circumflex
114 dkCaron.item("ë") := "ê" ; (u+00ea) e with circumflex
115 dkCaron.item("Ë") := "Ê" ; (u+00ca) E with circumflex
116 dkCaron.item("ï") := "î" ; (u+00ee) i with circumflex
117 dkCaron.item("Ï") := "Î" ; (u+00ce) I with circumflex
118 dkCaron.item("ö") := "ô" ; (u+00f4) o with circumflex
119 dkCaron.item("Ö") := "Ô" ; (u+00d4) O with circumflex
120 dkCaron.item("ü") := "û" ; (u+00fb) u with circumflex
121 dkCaron.item("Ü") := "Û" ; (u+00db) U with circumflex
122
123 ; Smart error-tolerant optimization for circumflex in French (end)
124
125 dkCaron.item(" ") := "ˇ" ; (u+02c7) caron
126
127
128 ; Dead Key : Ring/Dot Above
129
130 dkRingDotAbove := ComObjCreate("Scripting.Dictionary")
131 dkRingDotAbove.item("a") := "å" ; (u+00e5) a with ring above
132 dkRingDotAbove.item("A") := "Å" ; (u+00c5) A with ring above
133 dkRingDotAbove.item("ä") := "ȧ" ; (u+0227) a with dot above
134 dkRingDotAbove.item("Ä") := "Ȧ" ; (u+0226) A with dot above
135 dkRingDotAbove.item("b") := "ḃ" ; (u+1e03) b with dot above
136 dkRingDotAbove.item("B") := "Ḃ" ; (u+1e02) B with dot above
137 dkRingDotAbove.item("c") := "ċ" ; (u+010b) c with dot above
138 dkRingDotAbove.item("C") := "Ċ" ; (u+010a) C with dot above
139 dkRingDotAbove.item("d") := "ḋ" ; (u+1e0b) d with dot above
140 dkRingDotAbove.item("D") := "Ḋ" ; (u+1e0a) D with dot above
141 dkRingDotAbove.item("e") := "ė" ; (u+0117) e with dot above
142 dkRingDotAbove.item("E") := "Ė" ; (u+0116) E with dot above
143 dkRingDotAbove.item("f") := "ḟ" ; (u+1e1f) f with dot above
144 dkRingDotAbove.item("F") := "Ḟ" ; (u+1e1e) F with dot above
145 dkRingDotAbove.item("g") := "ġ" ; (u+0121) g with dot above
146 dkRingDotAbove.item("G") := "Ġ" ; (u+0120) G with dot above
147 dkRingDotAbove.item("h") := "ḣ" ; (u+1e23) h with dot above
148 dkRingDotAbove.item("H") := "Ḣ" ; (u+1e22) H with dot above
149 dkRingDotAbove.item("i") := "ı" ; (u+0131) dotless i (Turkish, Azerbaijani)
150 dkRingDotAbove.item("I") := "İ" ; (u+0130) I with dot above (Turkish, Azerbaijani)
151 dkRingDotAbove.item("j") := "ȷ" ; (u+0237) dotless j
152 dkRingDotAbove.item("l") := "ŀ" ; (u+0140) l with middle dot
153 dkRingDotAbove.item("L") := "Ŀ" ; (u+013f) L with middle dot
154 dkRingDotAbove.item("m") := "ṁ" ; (u+1e41) m with dot above
155 dkRingDotAbove.item("M") := "Ṁ" ; (u+1e40) M with dot above
156 dkRingDotAbove.item("n") := "ṅ" ; (u+1e45) n with dot above
157 dkRingDotAbove.item("N") := "Ṅ" ; (u+1e44) N with dot above
158 dkRingDotAbove.item("o") := "ȯ" ; (u+022f) o with dot above
159 dkRingDotAbove.item("O") := "Ȯ" ; (u+022e) O with dot above
160 dkRingDotAbove.item("p") := "ṗ" ; (u+1e57) p with dot above
161 dkRingDotAbove.item("P") := "Ṗ" ; (u+1e56) P with dot above
162 dkRingDotAbove.item("r") := "ṙ" ; (u+1e59) r with dot above
163 dkRingDotAbove.item("R") := "Ṙ" ; (u+1e58) R with dot above
164 dkRingDotAbove.item("s") := "ṡ" ; (u+1e61) s with dot above
165 dkRingDotAbove.item("S") := "Ṡ" ; (u+1e60) S with dot above
166 dkRingDotAbove.item("t") := "ṫ" ; (u+1e6b) t with dot above
167 dkRingDotAbove.item("T") := "Ṫ" ; (u+1e6a) T with dot above
168 dkRingDotAbove.item("u") := "ů" ; (u+016f) u with ring above
169 dkRingDotAbove.item("U") := "Ů" ; (u+016e) U with ring above
170 dkRingDotAbove.item("w") := "ẇ" ; (u+1e87) w with dot above
171 dkRingDotAbove.item("W") := "Ẇ" ; (u+1e86) W with dot above
172 dkRingDotAbove.item("å") := "ẘ" ; (u+1e98) w with ring above
173 dkRingDotAbove.item("x") := "ẋ" ; (u+1e8b) x with dot above
174 dkRingDotAbove.item("X") := "Ẋ" ; (u+1e8a) X with dot above
175 dkRingDotAbove.item("y") := "ẏ" ; (u+1e8f) y with dot above
176 dkRingDotAbove.item("Y") := "Ẏ" ; (u+1e8e) Y with dot above
177 dkRingDotAbove.item("ÿ") := "ẙ" ; (u+1e99) y with ring above
178 dkRingDotAbove.item("z") := "ż" ; (u+017c) z with dot above
179 dkRingDotAbove.item("Z") := "Ż" ; (u+017b) Z with dot above
180 dkRingDotAbove.item(" ") := "˙" ; (u+02d9) dot above
181
182
183 ; Dead Key : Macron/Stroke
184
185 dkMacronStroke := ComObjCreate("Scripting.Dictionary")
186 dkMacronStroke.item("a") := "ā" ; (u+0101) a with macron
187 dkMacronStroke.item("A") := "Ā" ; (u+0100) A with macron
188 dkMacronStroke.item("æ") := "ǣ" ; (u+01e3) ae with macron
189 dkMacronStroke.item("Æ") := "Ǣ" ; (u+01e2) AE with macron
190 dkMacronStroke.item("b") := "ƀ" ; (u+0180) b with stroke
191 dkMacronStroke.item("B") := "Ƀ" ; (u+0243) B with stroke
192 dkMacronStroke.item("d") := "đ" ; (u+0111) d with stroke
193 dkMacronStroke.item("D") := "Đ" ; (u+0110) D with stroke
194 dkMacronStroke.item("e") := "ē" ; (u+0113) e with macron
195 dkMacronStroke.item("E") := "Ē" ; (u+0112) E with macron
196 dkMacronStroke.item("g") := "ǥ" ; (u+01e5) g with stroke (Skolt Sami)
197 dkMacronStroke.item("G") := "Ǥ" ; (u+01e4) G with stroke (Skolt Sami)
198 dkMacronStroke.item("é") := "ḡ" ; (u+1e21) g with macron
199 dkMacronStroke.item("É") := "Ḡ" ; (u+1e20) G with macron
200 dkMacronStroke.item("h") := "ħ" ; (u+0127) h with stroke (Maltese)
201 dkMacronStroke.item("H") := "Ħ" ; (u+0126) H with stroke (Maltese)
202 dkMacronStroke.item("i") := "ī" ; (u+012b) i with macron
203 dkMacronStroke.item("I") := "Ī" ; (u+012a) I with macron
204 dkMacronStroke.item("ï") := "ɨ" ; (u+0268) i with stroke
205 dkMacronStroke.item("Ï") := "Ɨ" ; (u+0197) I with stroke
206 dkMacronStroke.item("j") := "ɉ" ; (u+0249) j with stroke
207 dkMacronStroke.item("J") := "Ɉ" ; (u+0248) J with stroke
208 dkMacronStroke.item("l") := "ł" ; (u+0142) l with stroke
209 dkMacronStroke.item("L") := "Ł" ; (u+0141) L with stroke
210 dkMacronStroke.item("ø") := "ḻ" ; (u+1e3b) l with line below
211 dkMacronStroke.item("Ø") := "Ḻ" ; (u+1e3a) L with line below
212 dkMacronStroke.item("o") := "ō" ; (u+014d) o with macron
213 dkMacronStroke.item("O") := "Ō" ; (u+014c) O with macron
214 dkMacronStroke.item("ö") := "ǭ" ; (u+01ed) o with ogonek and macron
215 dkMacronStroke.item("Ö") := "Ǭ" ; (u+01ec) O with ogonek and macron
216 dkMacronStroke.item("p") := "ᵽ" ; (u+1d7d) p with stroke
217 dkMacronStroke.item("P") := "Ᵽ" ; (u+2c63) P with stroke
218 dkMacronStroke.item("r") := "ɍ" ; (u+024d) r with stroke
219 dkMacronStroke.item("R") := "Ɍ" ; (u+024c) R with stroke
220 dkMacronStroke.item("t") := "ŧ" ; (u+0167) t with stroke
221 dkMacronStroke.item("T") := "Ŧ" ; (u+0166) T with stroke
222 dkMacronStroke.item("u") := "ū" ; (u+016b) u with macron
223 dkMacronStroke.item("U") := "Ū" ; (u+016a) U with macron
224 dkMacronStroke.item("ü") := "ʉ" ; (u+0289) u with bar
225 dkMacronStroke.item("Ü") := "Ʉ" ; (u+0244) U with bar
226 dkMacronStroke.item("y") := "ȳ" ; (u+0233) y with macron
227 dkMacronStroke.item("Y") := "Ȳ" ; (u+0232) Y with macron
228 dkMacronStroke.item("ÿ") := "ɏ" ; (u+024f) y with stroke
229 dkMacronStroke.item("Ÿ") := "Ɏ" ; (u+024c) Y with stroke
230 dkMacronStroke.item("z") := "ƶ" ; (u+01b6) z with stroke
231 dkMacronStroke.item("Z") := "Ƶ" ; (u+01b5) Z with stroke
232 dkMacronStroke.item(" ") := "¯" ; (u+00af) macron
233
234
235 ; Dead Key : Cedilla/Ogonek
236
237 dkCedillaOgonek := ComObjCreate("Scripting.Dictionary")
238 dkCedillaOgonek.item("a") := "ą" ; (u+0105) a with ogonek
239 dkCedillaOgonek.item("A") := "Ą" ; (u+0104) A with ogonek
240 dkCedillaOgonek.item("c") := "ç" ; (u+00e7) c with cedilla
241 dkCedillaOgonek.item("C") := "Ç" ; (u+00c7) C with cedilla
242 dkCedillaOgonek.item("d") := "ḑ" ; (u+1e11) d with cedilla
243 dkCedillaOgonek.item("D") := "Ḑ" ; (u+1e10) D with cedilla
244 dkCedillaOgonek.item("e") := "ę" ; (u+0119) e with ogonek
245 dkCedillaOgonek.item("E") := "Ę" ; (u+0118) E with ogonek
246 dkCedillaOgonek.item("ë") := "ȩ" ; (u+0229) e with cedilla
247 dkCedillaOgonek.item("Ë") := "Ȩ" ; (u+0228) E with cedilla
248 dkCedillaOgonek.item("g") := "ģ" ; (u+0123) g with cedilla
249 dkCedillaOgonek.item("G") := "Ģ" ; (u+0122) G with cedilla
250 dkCedillaOgonek.item("h") := "ḩ" ; (u+1e29) h with cedilla
251 dkCedillaOgonek.item("H") := "Ḩ" ; (u+1e28) H with cedilla
252 dkCedillaOgonek.item("i") := "į" ; (u+012f) i with ogonek
253 dkCedillaOgonek.item("I") := "Į" ; (u+012e) I with ogonek
254 dkCedillaOgonek.item("k") := "ķ" ; (u+0137) k with cedilla
255 dkCedillaOgonek.item("K") := "Ķ" ; (u+0136) K with cedilla
256 dkCedillaOgonek.item("l") := "ļ" ; (u+013c) l with cedilla
257 dkCedillaOgonek.item("L") := "Ļ" ; (u+013b) L with cedilla
258 dkCedillaOgonek.item("n") := "ņ" ; (u+0146) n with cedilla
259 dkCedillaOgonek.item("N") := "Ņ" ; (u+0145) N with cedilla
260 dkCedillaOgonek.item("o") := "ǫ" ; (u+01eb) o with ogonek
261 dkCedillaOgonek.item("O") := "Ǫ" ; (u+01ea) O with ogonek
262 dkCedillaOgonek.item("ö") := "ǭ" ; (u+01ed) o with ogonek and macron
263 dkCedillaOgonek.item("Ö") := "Ǭ" ; (u+01ec) O with ogonek and macron
264 dkCedillaOgonek.item("r") := "ŗ" ; (u+0157) r with cedilla
265 dkCedillaOgonek.item("R") := "Ŗ" ; (u+0156) R with cedilla
266 dkCedillaOgonek.item("s") := "ş" ; (u+015f) s with cedilla
267 dkCedillaOgonek.item("S") := "Ş" ; (u+015e) S with cedilla
268 dkCedillaOgonek.item("t") := "ţ" ; (u+0163) t with cedilla
269 dkCedillaOgonek.item("T") := "Ţ" ; (u+0162) T with cedilla
270 dkCedillaOgonek.item("u") := "ų" ; (u+0173) u with ogonek
271 dkCedillaOgonek.item("U") := "Ų" ; (u+0172) U with ogonek
272 dkCedillaOgonek.item("w") := "₩" ; (u+20a9) South Korean won
273 dkCedillaOgonek.item("W") := "₩" ; (u+20a9) South Korean won
274 dkCedillaOgonek.item("!") := "–" ; (u+2013) en dash
275 dkCedillaOgonek.item("1") := "–" ; (u+2013) en dash
276 dkCedillaOgonek.item("@") := "—" ; (u+2014) em dash
277 dkCedillaOgonek.item("2") := "—" ; (u+2014) em dash
278 dkCedillaOgonek.item("#") := "―" ; (u+2015) horizontal bar
279 dkCedillaOgonek.item("3") := "―" ; (u+2015) horizontal bar
280 dkCedillaOgonek.item("$") := "‐" ; (u+2010) hyphen
281 dkCedillaOgonek.item("4") := "‐" ; (u+2010) hyphen
282 dkCedillaOgonek.item("(") := "‒" ; (u+2012) figure dash
283 dkCedillaOgonek.item("9") := "‒" ; (u+2012) figure dash
284 dkCedillaOgonek.item(")") := "­" ; (u+00ad) soft hyphen
285 dkCedillaOgonek.item("0") := "­" ; (u+00ad) soft hyphen
286 dkCedillaOgonek.item("-") := "‑" ; (u+2011) non-breaking hyphen
287 dkCedillaOgonek.item(".") := "˛" ; (u+02db) ogonek
288 dkCedillaOgonek.item(" ") := "¸" ; (u+00b8) cedilla
289
290
291 ; Dead Key : Breve/Special
292
293 dkBreveSpecial := ComObjCreate("Scripting.Dictionary")
294 dkBreveSpecial.item("a") := "ă" ; (u+0103) a with breve
295 dkBreveSpecial.item("A") := "Ă" ; (u+0102) A with breve
296 dkBreveSpecial.item("d") := "ɖ" ; (u+0256) small letter d with tail
297 dkBreveSpecial.item("D") := "Ɖ" ; (u+0189) capital letter African D
298 dkBreveSpecial.item("e") := "ĕ" ; (u+0115) e with breve
299 dkBreveSpecial.item("E") := "Ĕ" ; (u+0114) E with breve
300 dkBreveSpecial.item("ë") := "ǝ" ; (u+01dd) small turned e
301 dkBreveSpecial.item("Ë") := "Ǝ" ; (u+018e) capital reversed E
302 dkBreveSpecial.item("f") := "ə" ; (u+0259) small letter schwa (Azerbaijani)
303 dkBreveSpecial.item("F") := "Ə" ; (u+018f) capital letter schwa (Azerbaijani)
304 dkBreveSpecial.item("g") := "ğ" ; (u+011f) g with breve
305 dkBreveSpecial.item("G") := "Ğ" ; (u+011e) G with breve
306 dkBreveSpecial.item("é") := "ꬶ" ; (u+ab36) cross-tailed g
307 dkBreveSpecial.item("h") := "ɣ" ; (u+0263) latin small gamma
308 dkBreveSpecial.item("H") := "Ɣ" ; (u+0194) latin capital gamma
309 dkBreveSpecial.item("i") := "ĭ" ; (u+012d) i with breve
310 dkBreveSpecial.item("I") := "Ĭ" ; (u+012c) I with breve
311 dkBreveSpecial.item("j") := "ij" ; (u+0133) ligature ij
312 dkBreveSpecial.item("J") := "IJ" ; (u+0132) ligature IJ
313 dkBreveSpecial.item("k") := "ĸ" ; (u+0138) small letter kra
314 dkBreveSpecial.item("n") := "ŋ" ; (u+014b) small letter eng(ma)
315 dkBreveSpecial.item("N") := "Ŋ" ; (u+014a) capital letter eng(ma)
316 dkBreveSpecial.item("o") := "ŏ" ; (u+014f) o with breve
317 dkBreveSpecial.item("O") := "Ŏ" ; (u+014e) O with breve
318 dkBreveSpecial.item("ö") := "ɔ" ; (u+0254) small open o
319 dkBreveSpecial.item("Ö") := "Ɔ" ; (u+0186) capital open O
320 dkBreveSpecial.item("s") := "ș" ; (u+0219) s with comma below (Romanian)
321 dkBreveSpecial.item("S") := "Ș" ; (u+0218) S with comma below (Romanian)
322 dkBreveSpecial.item("t") := "ț" ; (u+021b) t with comma below (Romanian)
323 dkBreveSpecial.item("T") := "Ț" ; (u+021a) T with comma below (Romanian)
324 dkBreveSpecial.item("u") := "ŭ" ; (u+016d) u with breve
325 dkBreveSpecial.item("U") := "Ŭ" ; (u+016c) U with breve
326 dkBreveSpecial.item("v") := "ʊ" ; (u+028a) latin small letter upsilon
327 dkBreveSpecial.item("V") := "Ʊ" ; (u+01b1) latin capital letter upsilon
328 dkBreveSpecial.item("w") := "ƿ" ; (u+01bf) small letter wynn
329 dkBreveSpecial.item("W") := "Ƿ" ; (u+01f7) capital letter wynn
330 dkBreveSpecial.item("y") := "ȝ" ; (u+021d) small letter yogh
331 dkBreveSpecial.item("Y") := "Ȝ" ; (u+021c) capital letter yogh
332 dkBreveSpecial.item("#") := "ʒ" ; (u+0292) small letter ezh
333 dkBreveSpecial.item("3") := "Ʒ" ; (u+01b7) capital letter ezh
334 dkBreveSpecial.item(" ") := "˘" ; (u+02d8) breve
335
336
337 ; Dead Key : Acute Accent
338
339 dkAcuteAccent := ComObjCreate("Scripting.Dictionary")
340 dkAcuteAccent.item("a") := "á" ; (u+00e1) a with acute
341 dkAcuteAccent.item("A") := "Á" ; (u+00c1) A with acute
342 dkAcuteAccent.item("b") := "ɓ" ; (u+0253) b with hook
343 dkAcuteAccent.item("B") := "Ɓ" ; (u+0181) B with hook
344 dkAcuteAccent.item("c") := "ć" ; (u+0107) c with acute
345 dkAcuteAccent.item("C") := "Ć" ; (u+0106) C with acute
346 dkAcuteAccent.item("ç") := "ḉ" ; (u+1e09) c with cedilla and acute
347 dkAcuteAccent.item("Ç") := "Ḉ" ; (u+1e08) C with cedilla and acute
348 dkAcuteAccent.item("d") := "ɗ" ; (u+0257) d with hook
349 dkAcuteAccent.item("D") := "Ɗ" ; (u+018a) D with hook
350 dkAcuteAccent.item("e") := "é" ; (u+00e9) e with acute
351 dkAcuteAccent.item("E") := "É" ; (u+00c9) E with acute
352 dkAcuteAccent.item("f") := "ƒ" ; (u+0192) f with hook
353 dkAcuteAccent.item("F") := "Ƒ" ; (u+0191) F with hook
354 dkAcuteAccent.item("g") := "ǵ" ; (u+01f5) g with acute
355 dkAcuteAccent.item("G") := "Ǵ" ; (u+01f4) G with acute
356 dkAcuteAccent.item("h") := "ɦ" ; (u+0266) h with hook
357 dkAcuteAccent.item("H") := "Ɦ" ; (u+a7aa) H with hook
358 dkAcuteAccent.item("i") := "í" ; (u+00ed) i with acute
359 dkAcuteAccent.item("I") := "Í" ; (u+00cd) I with acute
360 dkAcuteAccent.item("j") := "ij" ; (u+0133) ligature ij
361 dkAcuteAccent.item("J") := "IJ" ; (u+0132) ligature IJ
362 dkAcuteAccent.item("k") := "ƙ" ; (u+0199) k with hook
363 dkAcuteAccent.item("K") := "Ƙ" ; (u+0198) K with hook
364 dkAcuteAccent.item("l") := "ĺ" ; (u+013a) l with acute
365 dkAcuteAccent.item("L") := "Ĺ" ; (u+0139) L with acute
366 dkAcuteAccent.item("m") := "ḿ" ; (u+1e3f) m with acute
367 dkAcuteAccent.item("M") := "Ḿ" ; (u+1e3e) M with acute
368 dkAcuteAccent.item("n") := "ń" ; (u+0144) n with acute
369 dkAcuteAccent.item("N") := "Ń" ; (u+0143) N with acute
370 dkAcuteAccent.item("o") := "ó" ; (u+00f3) o with acute
371 dkAcuteAccent.item("O") := "Ó" ; (u+00d3) O with acute
372 dkAcuteAccent.item("ö") := "ő" ; (u+0151) o with double acute
373 dkAcuteAccent.item("Ö") := "Ő" ; (u+0150) O with double acute
374 dkAcuteAccent.item("p") := "ƥ" ; (u+01a5) p with hook
375 dkAcuteAccent.item("P") := "Ƥ" ; (u+01a4) P with hook
376 dkAcuteAccent.item("q") := "ɋ" ; (u+024b) q with hook tail
377 dkAcuteAccent.item("Q") := "Ɋ" ; (u+024a) Q with hook tail
378 dkAcuteAccent.item("r") := "ŕ" ; (u+0155) r with acute
379 dkAcuteAccent.item("R") := "Ŕ" ; (u+0154) R with acute
380 dkAcuteAccent.item("s") := "ś" ; (u+015b) s with acute
381 dkAcuteAccent.item("S") := "Ś" ; (u+015a) S with acute
382 dkAcuteAccent.item("t") := "ƭ" ; (u+01ad) t with hook
383 dkAcuteAccent.item("T") := "Ƭ" ; (u+01ac) T with hook
384 dkAcuteAccent.item("u") := "ú" ; (u+00fa) u with acute
385 dkAcuteAccent.item("U") := "Ú" ; (u+00da) U with acute
386 dkAcuteAccent.item("ü") := "ű" ; (u+0171) u with double acute
387 dkAcuteAccent.item("Ü") := "Ű" ; (u+0170) U with double acute
388 dkAcuteAccent.item("v") := "ʋ" ; (u+028b) v with hook
389 dkAcuteAccent.item("V") := "Ʋ" ; (u+01b2) V with hook
390 dkAcuteAccent.item("w") := "ẃ" ; (u+1e83) w with acute
391 dkAcuteAccent.item("W") := "Ẃ" ; (u+1e82) W with acute
392 dkAcuteAccent.item("y") := "ý" ; (u+00fd) y with acute
393 dkAcuteAccent.item("Y") := "Ý" ; (u+00dd) Y with acute
394 dkAcuteAccent.item("z") := "ź" ; (u+017a) z with acute
395 dkAcuteAccent.item("Z") := "Ź" ; (u+0179) Z with acute
396 dkAcuteAccent.item("å") := "ǻ" ; (u+01fb) a with ring above and acute
397 dkAcuteAccent.item("Å") := "Ǻ" ; (u+01fa) A with ring above and acute
398 dkAcuteAccent.item("æ") := "ǽ" ; (u+01fd) ae with acute
399 dkAcuteAccent.item("Æ") := "Ǽ" ; (u+01fc) AE with acute
400 dkAcuteAccent.item("ø") := "ǿ" ; (u+01ff) o with stroke and acute
401 dkAcuteAccent.item("Ø") := "Ǿ" ; (u+01fe) O with stroke and acute
402 dkAcuteAccent.item("@") := "♫" ; (u+266b) beamed eighth notes
403 dkAcuteAccent.item("2") := "♫" ; (u+266b) beamed eighth notes
404 dkAcuteAccent.item("#") := "⁂" ; (u+2042) asterism
405 dkAcuteAccent.item("3") := "⁂" ; (u+2042) asterism
406 dkAcuteAccent.item("$") := "★" ; (u+2605) black star
407 dkAcuteAccent.item("4") := "★" ; (u+2605) black star
408 dkAcuteAccent.item("%") := "☆" ; (u+2606) white star
409 dkAcuteAccent.item("5") := "☆" ; (u+2606) white star
410 dkAcuteAccent.item("^") := "✽" ; (u+273d) heavy teardrop-spoked asterisk
411 dkAcuteAccent.item("6") := "✽" ; (u+273d) heavy teardrop-spoked asterisk
412 dkAcuteAccent.item("&") := "✻" ; (u+273b) teardrop-spoked asterisk
413 dkAcuteAccent.item("7") := "✻" ; (u+273b) teardrop-spoked asterisk
414 dkAcuteAccent.item("*") := "♪" ; (u+266a) eighth note
415 dkAcuteAccent.item("8") := "♪" ; (u+266a) eighth note
416 dkAcuteAccent.item("'") := "´" ; (u+00b4) acute accent
417 dkAcuteAccent.item(" ") := "´" ; (u+00b4) acute accent
418
419
420 ; Dead Key : Diaeresis
421
422 dkDiaeresis := ComObjCreate("Scripting.Dictionary")
423 dkDiaeresis.item("a") := "ä" ; (u+00e4) a with diaeresis
424 dkDiaeresis.item("A") := "Ä" ; (u+00c4) A with diaeresis
425 dkDiaeresis.item("e") := "ë" ; (u+00eb) e with diaeresis
426 dkDiaeresis.item("E") := "Ë" ; (u+00cb) E with diaeresis
427 dkDiaeresis.item("h") := "ḧ" ; (u+1e27) h with diaeresis
428 dkDiaeresis.item("H") := "Ḧ" ; (u+1e26) H with diaeresis
429 dkDiaeresis.item("i") := "ï" ; (u+00ef) i with diaeresis
430 dkDiaeresis.item("I") := "Ï" ; (u+00cf) I with diaeresis
431 dkDiaeresis.item("o") := "ö" ; (u+00f6) o with diaeresis
432 dkDiaeresis.item("O") := "Ö" ; (u+00d6) O with diaeresis
433 dkDiaeresis.item("s") := "ß" ; (u+00df) small sharp s (Eszett)
434 dkDiaeresis.item("S") := "ẞ" ; (u+1e9e) capital sharp S (capital Eszett)
435 dkDiaeresis.item("t") := "ẗ" ; (u+1e97) t with diaeresis
436 dkDiaeresis.item("u") := "ü" ; (u+00fc) u with diaeresis
437 dkDiaeresis.item("U") := "Ü" ; (u+00dc) U with diaeresis
438 dkDiaeresis.item("w") := "ẅ" ; (u+1e85) w with diaeresis
439 dkDiaeresis.item("W") := "Ẅ" ; (u+1e84) W with diaeresis
440 dkDiaeresis.item("x") := "ẍ" ; (u+1e8d) x with diaeresis
441 dkDiaeresis.item("X") := "Ẍ" ; (u+1e8c) X with diaeresis
442 dkDiaeresis.item("y") := "ÿ" ; (u+00ff) y with diaeresis
443 dkDiaeresis.item("Y") := "Ÿ" ; (u+0178) Y with diaeresis
444 dkDiaeresis.item("""") := "¨" ; (u+00a8) diaeresis
445 dkDiaeresis.item(" ") := "¨" ; (u+00a8) diaeresis
446
447
448 ; Dead Key : Grave Accent
449
450 dkGraveAccent := ComObjCreate("Scripting.Dictionary")
451 dkGraveAccent.item("a") := "à" ; (u+00e0) a with grave
452 dkGraveAccent.item("A") := "À" ; (u+00c0) A with grave
453 dkGraveAccent.item("e") := "è" ; (u+00e8) e with grave
454 dkGraveAccent.item("E") := "È" ; (u+00c8) E with grave
455 dkGraveAccent.item("i") := "ì" ; (u+00ec) i with grave
456 dkGraveAccent.item("I") := "Ì" ; (u+00cc) I with grave
457 dkGraveAccent.item("n") := "ǹ" ; (u+01f9) n with grave
458 dkGraveAccent.item("N") := "Ǹ" ; (u+01f8) N with grave
459 dkGraveAccent.item("o") := "ò" ; (u+00f2) o with grave
460 dkGraveAccent.item("O") := "Ò" ; (u+00d2) O with grave
461 dkGraveAccent.item("u") := "ù" ; (u+00f9) u with grave
462 dkGraveAccent.item("U") := "Ù" ; (u+00d9) U with grave
463 dkGraveAccent.item("w") := "ẁ" ; (u+1e81) w with grave
464 dkGraveAccent.item("W") := "Ẁ" ; (u+1e80) W with grave
465 dkGraveAccent.item("y") := "ỳ" ; (u+1ef3) y with grave
466 dkGraveAccent.item("Y") := "Ỳ" ; (u+1ef2) Y with grave
467 dkGraveAccent.item("ä") := "₳" ; (u+20b3) Argentine austral
468 dkGraveAccent.item("Ä") := "₳" ; (u+20b3) Argentine austral
469 dkGraveAccent.item("b") := "₿" ; (u+20bf) bitcoin
470 dkGraveAccent.item("B") := "₿" ; (u+20bf) bitcoin
471 dkGraveAccent.item("c") := "₡" ; (u+20a1) Costa Rican colón
472 dkGraveAccent.item("C") := "₵" ; (u+20b5) Ghanaian cedi
473 dkGraveAccent.item("ç") := "₢" ; (u+20a2) Brazilian cruzeiro
474 dkGraveAccent.item("Ç") := "₢" ; (u+20a2) Brazilian cruzeiro
475 dkGraveAccent.item("d") := "₫" ; (u+20ab) Vietnamese dong
476 dkGraveAccent.item("D") := "₯" ; (u+20af) Greek drachma
477 dkGraveAccent.item("f") := "₣" ; (u+20a3) French franc
478 dkGraveAccent.item("F") := "₣" ; (u+20a3) French franc
479 dkGraveAccent.item("g") := "₲" ; (u+20b2) Paraguayan guaraní
480 dkGraveAccent.item("G") := "₲" ; (u+20b2) Paraguayan guaraní
481 dkGraveAccent.item("h") := "₴" ; (u+20b4) Ukrainian hryvnia
482 dkGraveAccent.item("H") := "₴" ; (u+20b4) Ukrainian hryvnia
483 dkGraveAccent.item("k") := "₭" ; (u+20ad) Laotian kip
484 dkGraveAccent.item("K") := "₭" ; (u+20ad) Laotian kip
485 dkGraveAccent.item("l") := "₺" ; (u+20ba) Turkish lira
486 dkGraveAccent.item("L") := "₾" ; (u+20be) Georgian lari
487 dkGraveAccent.item("ø") := "₤" ; (u+20a4) lira
488 dkGraveAccent.item("Ø") := "₶" ; (u+20b6) livre tournois
489 dkGraveAccent.item("m") := "₼" ; (u+20bc) Azerbaijani manat
490 dkGraveAccent.item("M") := "₥" ; (u+20a5) mill sign
491 dkGraveAccent.item("ñ") := "₦" ; (u+20a6) Nigerian naira
492 dkGraveAccent.item("Ñ") := "₦" ; (u+20a6) Nigerian naira
493 dkGraveAccent.item("p") := "₱" ; (u+20b1) Philippine peso
494 dkGraveAccent.item("P") := "₱" ; (u+20b1) Philippine peso
495 dkGraveAccent.item("r") := "₹" ; (u+20b9) Indian rupee
496 dkGraveAccent.item("R") := "₽" ; (u+20bd) Russian ruble
497 dkGraveAccent.item("s") := "₪" ; (u+20aa) Israeli new shekel
498 dkGraveAccent.item("S") := "₷" ; (u+20b7) spesmilo
499 dkGraveAccent.item("t") := "₮" ; (u+20ae) Mongolian tögrög (tugrik)
500 dkGraveAccent.item("T") := "₸" ; (u+20b8) Kazakh tenge
501 dkGraveAccent.item("å") := "₩" ; (u+20a9) South Korean won
502 dkGraveAccent.item("Å") := "₩" ; (u+20a9) South Korean won
503 dkGraveAccent.item("!") := " " ; (u+2002) en space
504 dkGraveAccent.item("@") := " " ; (u+2003) em space
505 dkGraveAccent.item("#") := " " ; (u+2004) three-per-em space
506 dkGraveAccent.item("3") := " " ; (u+2004) three-per-em space
507 dkGraveAccent.item("$") := " " ; (u+2005) four-per-em space
508 dkGraveAccent.item("4") := " " ; (u+2005) four-per-em space
509 dkGraveAccent.item("%") := " " ; (u+2008) punctuation space
510 dkGraveAccent.item("5") := " " ; (u+2008) punctuation space
511 dkGraveAccent.item("^") := " " ; (u+2006) six-per-em space
512 dkGraveAccent.item("6") := " " ; (u+2006) six-per-em space
513 dkGraveAccent.item("&") := " " ; (u+2009) thin space
514 dkGraveAccent.item("7") := " " ; (u+2009) thin space
515 dkGraveAccent.item("*") := " " ; (u+200a) hair space
516 dkGraveAccent.item("8") := " " ; (u+200a) hair space
517 dkGraveAccent.item("(") := " " ; (u+2007) figure space
518 dkGraveAccent.item("9") := " " ; (u+2007) figure space
519 dkGraveAccent.item(")") := "​" ; (u+200b) zero-width space
520 dkGraveAccent.item("0") := "​" ; (u+200b) zero-width space
521 dkGraveAccent.item("-") := " " ; (u+00a0) non-breaking space
522 dkGraveAccent.item("=") := " " ; (u+202f) narrow no-break space
523 dkGraveAccent.item("1") := " " ; (u+2000) en quad
524 dkGraveAccent.item("2") := " " ; (u+2001) em quad
525 dkGraveAccent.item("``") := "``" ; (u+0060) grave accent
526 dkGraveAccent.item(" ") := "``" ; (u+0060) grave accent
527
528
529 ; Dead Key : Tilde
530
531 dkTilde := ComObjCreate("Scripting.Dictionary")
532 dkTilde.item("a") := "ã" ; (u+00e3) a with tilde
533 dkTilde.item("A") := "Ã" ; (u+00c3) A with tilde
534 dkTilde.item("e") := "ẽ" ; (u+1ebd) e with tilde
535 dkTilde.item("E") := "Ẽ" ; (u+1ebc) E with tilde
536 dkTilde.item("i") := "ĩ" ; (u+0129) i with tilde
537 dkTilde.item("I") := "Ĩ" ; (u+0128) I with tilde
538 dkTilde.item("n") := "ñ" ; (u+00f1) n with tilde
539 dkTilde.item("N") := "Ñ" ; (u+00d1) N with tilde
540 dkTilde.item("o") := "õ" ; (u+00f5) o with tilde
541 dkTilde.item("O") := "Õ" ; (u+00d5) O with tilde
542 dkTilde.item("u") := "ũ" ; (u+0169) u with tilde
543 dkTilde.item("U") := "Ũ" ; (u+0168) U with tilde
544 dkTilde.item("v") := "ṽ" ; (u+1e7d) v with tilde
545 dkTilde.item("V") := "Ṽ" ; (u+1e7c) V with tilde
546 dkTilde.item("y") := "ỹ" ; (u+1ef9) y with tilde
547 dkTilde.item("Y") := "Ỹ" ; (u+1ef8) Y with tilde
548 dkTilde.item("~") := "~" ; (u+007e) tilde
549 dkTilde.item(" ") := "~" ; (u+007e) tilde
550
551
552 ; Dead Key : Not Sign
553
554 dkNotSign := ComObjCreate("Scripting.Dictionary")
555 dkNotSign.item("a") := "ª" ; (u+00aa) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
556 dkNotSign.item("A") := "ª" ; (u+00aa) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
557 dkNotSign.item("b") := "☐" ; (u+2610) ballot box
558 dkNotSign.item("B") := "☒" ; (u+2612) ballot box with x
559 dkNotSign.item("c") := "©" ; (u+00a9) copyright sign
560 dkNotSign.item("C") := "¤" ; (u+00a4) currency sign
561 dkNotSign.item("d") := "†" ; (u+2020) dagger
562 dkNotSign.item("D") := "‡" ; (u+2021) double dagger
563 dkNotSign.item("e") := "…" ; (u+2026) horizontal ellipsis
564 dkNotSign.item("E") := "℮" ; (u+212e) estimated symbol
565 dkNotSign.item("f") := "♀" ; (u+2640) Venus symbol (female)
566 dkNotSign.item("F") := "♀" ; (u+2640) Venus symbol (female)
567 dkNotSign.item("h") := "♡" ; (u+2661) white heart suit
568 dkNotSign.item("H") := "♥" ; (u+2665) black heart suit
569 dkNotSign.item("l") := "ℓ" ; (u+2113) script small l
570 dkNotSign.item("L") := "ℓ" ; (u+2113) script small l
571 dkNotSign.item("m") := "♂" ; (u+2642) Mars symbol (male)
572 dkNotSign.item("M") := "♂" ; (u+2642) Mars symbol (male)
573 dkNotSign.item("n") := "¬" ; (u+00ac) not sign
574 dkNotSign.item("N") := "¬" ; (u+00ac) not sign
575 dkNotSign.item("o") := "º" ; (u+00ba) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
576 dkNotSign.item("O") := "º" ; (u+00ba) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
577 dkNotSign.item("p") := "¶" ; (u+00b6) pilcrow sign
578 dkNotSign.item("P") := "℗" ; (u+2117) sound recording copyright
579 dkNotSign.item("r") := "®" ; (u+00ae) registered sign
580 dkNotSign.item("R") := "®" ; (u+00ae) registered sign
581 dkNotSign.item("s") := "§" ; (u+00a7) section sign
582 dkNotSign.item("S") := "℠" ; (u+2120) service mark
583 dkNotSign.item("t") := "™" ; (u+2122) trademark symbol
584 dkNotSign.item("T") := "™" ; (u+2122) trademark symbol
585 dkNotSign.item("v") := "✓" ; (u+2713) check mark
586 dkNotSign.item("V") := "✔" ; (u+2714) heavy check mark
587 dkNotSign.item("w") := "☑" ; (u+2611) ballot box with check
588 dkNotSign.item("W") := "☙" ; (u+2619) reversed rotated floral heart bullet
589 dkNotSign.item("x") := "✗" ; (u+2717) ballot x
590 dkNotSign.item("X") := "✘" ; (u+2718) heavy ballot x
591 dkNotSign.item("y") := "☺" ; (u+263a) white smiling face
592 dkNotSign.item("Y") := "☻" ; (u+263b) black smiling face
593 dkNotSign.item("!") := "←" ; (u+2190) leftwards arrow
594 dkNotSign.item("@") := "↓" ; (u+2193) downwards arrow
595 dkNotSign.item("#") := "↑" ; (u+2191) upwards arrow
596 dkNotSign.item("$") := "→" ; (u+2192) rightwards arrow
597 dkNotSign.item("%") := "↖" ; (u+2196) north west arrow
598 dkNotSign.item("^") := "↙" ; (u+2199) south west arrow
599 dkNotSign.item("&") := "↗" ; (u+2197) north east arrow
600 dkNotSign.item("*") := "↘" ; (u+2198) south east arrow
601 dkNotSign.item("(") := "↕" ; (u+2195) up down arrow
602 dkNotSign.item(")") := "↨" ; (u+21a8) up down arrow with base
603 dkNotSign.item("=") := "↔" ; (u+2194) left right arrow
604 dkNotSign.item("1") := "⇐" ; (u+21d0) leftwards double arrow
605 dkNotSign.item("2") := "⇓" ; (u+21d3) downwards double arrow
606 dkNotSign.item("3") := "⇑" ; (u+21d1) upwards double arrow
607 dkNotSign.item("4") := "⇒" ; (u+21d2) rightwards double arrow
608 dkNotSign.item("5") := "⇖" ; (u+21d6) north west double arrow
609 dkNotSign.item("6") := "⇙" ; (u+21d9) south west double arrow
610 dkNotSign.item("7") := "⇗" ; (u+21d7) north east double arrow
611 dkNotSign.item("8") := "⇘" ; (u+21d8) south east double arrow
612 dkNotSign.item("9") := "⇕" ; (u+21d5) up down double arrow
613 dkNotSign.item("0") := "↲" ; (u+21b2) downwards arrow with tip leftwards
614 dkNotSign.item("+") := "⇔" ; (u+21d4) left right double arrow
615 dkNotSign.item(".") := "•" ; (u+2022) bullet
616 dkNotSign.item("-") := "⁃" ; (u+2043) hyphen bullet
617 dkNotSign.item("/") := "‼" ; (u+203c) double exclamation mark
618 dkNotSign.item("?") := "‽" ; (u+203a) interrobang
619 dkNotSign.item("¿") := "⸘" ; (u+2e18) inverted interrobang
620 dkNotSign.item("¶") := "⸮" ; (u+2e2e) reversed question mark
621 dkNotSign.item("\") := "⁞" ; (u+205e) vertical four dots
622 dkNotSign.item("|") := "⁞" ; (u+205e) vertical four dots
623 dkNotSign.item(" ") := "¬" ; (u+00ac) not sign
624
625
626 ; Dead Key : Broken Bar
627
628 dkBrokenBar := ComObjCreate("Scripting.Dictionary")
629 dkBrokenBar.item("a") := "ɑ" ; (u+0251) latin small letter alpha
630 dkBrokenBar.item("A") := "Ɑ" ; (u+2c6d) latin capital letter alpha
631 dkBrokenBar.item("ä") := "ɒ" ; (u+0252) latin small letter turned alpha
632 dkBrokenBar.item("Ä") := "Ɒ" ; (u+2c70) latin capital letter turned alpha
633 dkBrokenBar.item("c") := "ƈ" ; (u+0188) c with hook
634 dkBrokenBar.item("C") := "Ƈ" ; (u+0187) C with hook
635 dkBrokenBar.item("e") := "ɛ" ; (u+025b) small open e (latin small epsilon)
636 dkBrokenBar.item("E") := "Ɛ" ; (u+0190) capital open E (latin capital epsilon)
637 dkBrokenBar.item("f") := "❦" ; (u+2766) floral heart
638 dkBrokenBar.item("F") := "❧" ; (u+2767) rotated floral heart bullet
639 dkBrokenBar.item("g") := "ɠ" ; (u+0260) g with hook
640 dkBrokenBar.item("G") := "Ɠ" ; (u+0193) G with hook
641 dkBrokenBar.item("h") := "ꜧ" ; (u+a727) small letter heng
642 dkBrokenBar.item("H") := "Ꜧ" ; (u+a726) capital letter heng
643 dkBrokenBar.item("ù") := "ɧ" ; (u+0267) small letter heng with hook
644 dkBrokenBar.item("k") := "ḱ" ; (u+1e31) k with acute
645 dkBrokenBar.item("K") := "Ḱ" ; (u+1e30) K with acute
646 dkBrokenBar.item("m") := "ɱ" ; (u+0271) m with hook
647 dkBrokenBar.item("M") := "Ɱ" ; (u+2c6e) M with hook
648 dkBrokenBar.item("n") := "ɲ" ; (u+0272) n with left hook
649 dkBrokenBar.item("N") := "Ɲ" ; (u+019d) N with left hook
650 dkBrokenBar.item("o") := "ơ" ; (u+01a1) o with horn
651 dkBrokenBar.item("O") := "Ơ" ; (u+01a0) O with horn
652 dkBrokenBar.item("p") := "ṕ" ; (u+1e55) p with acute
653 dkBrokenBar.item("P") := "Ṕ" ; (u+1e54) P with acute
654 dkBrokenBar.item("r") := "ɽ" ; (u+027d) r with tail
655 dkBrokenBar.item("R") := "Ɽ" ; (u+2c64) R with tail
656 dkBrokenBar.item("s") := "ʃ" ; (u+0283) small letter esh
657 dkBrokenBar.item("S") := "Ʃ" ; (u+01a9) capital letter esh
658 dkBrokenBar.item("ß") := "ſ" ; (u+017f) small long s
659 dkBrokenBar.item("u") := "ư" ; (u+01b0) u with horn
660 dkBrokenBar.item("U") := "Ư" ; (u+01af) U with horn
661 dkBrokenBar.item("v") := "ʌ" ; (u+028c) latin small letter turned v
662 dkBrokenBar.item("V") := "Ʌ" ; (u+0245) latin capital letter turned V
663 dkBrokenBar.item("w") := "ⱳ" ; (u+2c73) w with hook
664 dkBrokenBar.item("W") := "Ⱳ" ; (u+2c72) W with hook
665 dkBrokenBar.item("y") := "ƴ" ; (u+01b4) y with hook
666 dkBrokenBar.item("Y") := "Ƴ" ; (u+01b3) Y with hook
667 dkBrokenBar.item("z") := "ȥ" ; (u+0225) z with hook
668 dkBrokenBar.item("Z") := "Ȥ" ; (u+0224) Z with hook
669 dkBrokenBar.item("!") := "№" ; (u+2116) numero sign
670 dkBrokenBar.item("1") := "№" ; (u+2116) numero sign
671 dkBrokenBar.item("@") := "½" ; (u+00bd) vulgar fraction 1/2
672 dkBrokenBar.item("2") := "½" ; (u+00bd) vulgar fraction 1/2
673 dkBrokenBar.item("#") := "⅓" ; (u+2153) vulgar fraction 1/3
674 dkBrokenBar.item("3") := "⅓" ; (u+2153) vulgar fraction 1/3
675 dkBrokenBar.item("$") := "¼" ; (u+00bc) vulgar fraction 1/4
676 dkBrokenBar.item("4") := "¼" ; (u+00bc) vulgar fraction 1/4
677 dkBrokenBar.item("%") := "⅔" ; (u+2154) vulgar fraction 2/3
678 dkBrokenBar.item("5") := "⅔" ; (u+2154) vulgar fraction 2/3
679 dkBrokenBar.item("^") := "¾" ; (u+00be) vulgar fraction 3/4
680 dkBrokenBar.item("6") := "¾" ; (u+00be) vulgar fraction 3/4
681 dkBrokenBar.item("&") := "⅛" ; (u+215b) vulgar fraction 1/8
682 dkBrokenBar.item("7") := "⅛" ; (u+215b) vulgar fraction 1/8
683 dkBrokenBar.item("*") := "⅜" ; (u+215c) vulgar fraction 3/8
684 dkBrokenBar.item("8") := "⅜" ; (u+215c) vulgar fraction 3/8
685 dkBrokenBar.item("(") := "⅝" ; (u+215d) vulgar fraction 5/8
686 dkBrokenBar.item("9") := "⅝" ; (u+215d) vulgar fraction 5/8
687 dkBrokenBar.item(")") := "⅞" ; (u+215e) vulgar fraction 7/8
688 dkBrokenBar.item("0") := "⅞" ; (u+215e) vulgar fraction 7/8
689 dkBrokenBar.item("\") := "¦" ; (u+00a6) broken bar
690 dkBrokenBar.item("|") := "¦" ; (u+00a6) broken bar
691 dkBrokenBar.item(" ") := "¦" ; (u+00a6) broken bar
692
693
694 ; Dead Key : Greek Alphabet
695
696 dkGreekAlphabet := ComObjCreate("Scripting.Dictionary")
697 dkGreekAlphabet.item("a") := "α" ; (u+03b1) small alpha
698 dkGreekAlphabet.item("A") := "Α" ; (u+0391) capital alpha
699 dkGreekAlphabet.item("b") := "β" ; (u+03b2) small beta
700 dkGreekAlphabet.item("B") := "Β" ; (u+0392) capital beta
701 dkGreekAlphabet.item("v") := "β" ; (u+03b2) small beta
702 dkGreekAlphabet.item("V") := "Β" ; (u+0392) capital beta
703 dkGreekAlphabet.item("g") := "γ" ; (u+03b3) small gamma
704 dkGreekAlphabet.item("G") := "Γ" ; (u+0393) capital gamma
705 dkGreekAlphabet.item("d") := "δ" ; (u+03b4) small delta
706 dkGreekAlphabet.item("D") := "Δ" ; (u+0394) capital delta
707 dkGreekAlphabet.item("e") := "ε" ; (u+03b5) small epsilon
708 dkGreekAlphabet.item("E") := "Ε" ; (u+0395) capital epsilon
709 dkGreekAlphabet.item("z") := "ζ" ; (u+03b6) small zeta
710 dkGreekAlphabet.item("Z") := "Ζ" ; (u+0396) capital zeta
711 dkGreekAlphabet.item("h") := "η" ; (u+03b7) small eta
712 dkGreekAlphabet.item("H") := "Η" ; (u+0397) capital eta
713 dkGreekAlphabet.item("j") := "θ" ; (u+03b8) small theta
714 dkGreekAlphabet.item("J") := "Θ" ; (u+0398) capital theta
715 dkGreekAlphabet.item("i") := "ι" ; (u+03b9) small iota
716 dkGreekAlphabet.item("I") := "Ι" ; (u+0399) capital iota
717 dkGreekAlphabet.item("k") := "κ" ; (u+03ba) small kappa
718 dkGreekAlphabet.item("K") := "Κ" ; (u+039a) capital kappa
719 dkGreekAlphabet.item("l") := "λ" ; (u+03bb) small lambda
720 dkGreekAlphabet.item("L") := "Λ" ; (u+039b) capital lambda
721 dkGreekAlphabet.item("m") := "μ" ; (u+03bc) small mu
722 dkGreekAlphabet.item("M") := "Μ" ; (u+039c) capital mu
723 dkGreekAlphabet.item("n") := "ν" ; (u+03bd) small nu
724 dkGreekAlphabet.item("N") := "Ν" ; (u+039d) capital nu
725 dkGreekAlphabet.item("x") := "ξ" ; (u+03be) small xi
726 dkGreekAlphabet.item("X") := "Ξ" ; (u+039e) capital xi
727 dkGreekAlphabet.item("o") := "ο" ; (u+03bf) small omicron
728 dkGreekAlphabet.item("O") := "Ο" ; (u+039f) capital omicron
729 dkGreekAlphabet.item("p") := "π" ; (u+03c0) small pi
730 dkGreekAlphabet.item("P") := "Π" ; (u+03a0) capital pi
731 dkGreekAlphabet.item("r") := "ρ" ; (u+03c1) small rho
732 dkGreekAlphabet.item("R") := "Ρ" ; (u+03a1) capital rho
733 dkGreekAlphabet.item("s") := "σ" ; (u+03c3) small sigma
734 dkGreekAlphabet.item("S") := "Σ" ; (u+03a3) capital sigma
735 dkGreekAlphabet.item(",") := "ς" ; (u+03c2) small sigma, in word-final position
736 dkGreekAlphabet.item("ß") := "ς" ; (u+03c2) small sigma, in word-final position
737 dkGreekAlphabet.item("t") := "τ" ; (u+03c4) small tau
738 dkGreekAlphabet.item("T") := "Τ" ; (u+03a4) capital tau
739 dkGreekAlphabet.item("u") := "υ" ; (u+03c5) small upsilon
740 dkGreekAlphabet.item("U") := "Υ" ; (u+03a5) capital upsilon
741 dkGreekAlphabet.item("y") := "υ" ; (u+03c5) small upsilon
742 dkGreekAlphabet.item("Y") := "Υ" ; (u+03a5) capital upsilon
743 dkGreekAlphabet.item("f") := "φ" ; (u+03c6) small phi
744 dkGreekAlphabet.item("F") := "Φ" ; (u+03a6) capital phi
745 dkGreekAlphabet.item("c") := "χ" ; (u+03c7) small chi
746 dkGreekAlphabet.item("C") := "Χ" ; (u+03a7) capital chi
747 dkGreekAlphabet.item("w") := "ψ" ; (u+03c8) small psi
748 dkGreekAlphabet.item("W") := "Ψ" ; (u+03a8) capital psi
749 dkGreekAlphabet.item("q") := "ω" ; (u+03c9) small omega
750 dkGreekAlphabet.item("Q") := "Ω" ; (u+03a9) capital omega
751 dkGreekAlphabet.item("!") := "¹" ; (u+00b9) superscript 1
752 dkGreekAlphabet.item("@") := "²" ; (u+00b2) superscript 2
753 dkGreekAlphabet.item("#") := "³" ; (u+00b3) superscript 3
754 dkGreekAlphabet.item("$") := "⁴" ; (u+2074) superscript 4
755 dkGreekAlphabet.item("%") := "⁵" ; (u+2075) superscript 5
756 dkGreekAlphabet.item("^") := "⁶" ; (u+2076) superscript 6
757 dkGreekAlphabet.item("&") := "⁷" ; (u+2077) superscript 7
758 dkGreekAlphabet.item("*") := "⁸" ; (u+2078) superscript 8
759 dkGreekAlphabet.item("(") := "⁹" ; (u+2079) superscript 9
760 dkGreekAlphabet.item(")") := "⁰" ; (u+2070) superscript 0
761 dkGreekAlphabet.item("-") := "⁻" ; (u+207b) superscript -
762 dkGreekAlphabet.item("=") := "⁼" ; (u+207c) superscript =
763 dkGreekAlphabet.item("+") := "⁺" ; (u+207a) superscript +
764 dkGreekAlphabet.item("[") := "⁽" ; (u+207d) superscript (
765 dkGreekAlphabet.item("]") := "⁾" ; (u+207e) superscript )
766 dkGreekAlphabet.item("1") := "₁" ; (u+2081) subscript 1
767 dkGreekAlphabet.item("2") := "₂" ; (u+2082) subscript 2
768 dkGreekAlphabet.item("3") := "₃" ; (u+2083) subscript 3
769 dkGreekAlphabet.item("4") := "₄" ; (u+2084) subscript 4
770 dkGreekAlphabet.item("5") := "₅" ; (u+2085) subscript 5
771 dkGreekAlphabet.item("6") := "₆" ; (u+2086) subscript 6
772 dkGreekAlphabet.item("7") := "₇" ; (u+2087) subscript 7
773 dkGreekAlphabet.item("8") := "₈" ; (u+2088) subscript 8
774 dkGreekAlphabet.item("9") := "₉" ; (u+2089) subscript 9
775 dkGreekAlphabet.item("0") := "₀" ; (u+2080) subscript 0
776 dkGreekAlphabet.item(";") := "₋" ; (u+208b) subscript -
777 dkGreekAlphabet.item("'") := "₌" ; (u+208c) subscript =
778 dkGreekAlphabet.item("""") := "₊" ; (u+208a) subscript +
779 dkGreekAlphabet.item("{") := "₍" ; (u+208d) subscript (
780 dkGreekAlphabet.item("}") := "₎" ; (u+208e) subscript )
781 dkGreekAlphabet.item(".") := "µ" ; (u+00b5) micro sign
782 dkGreekAlphabet.item(" ") := "μ" ; (u+03bc) small mu
783
784
785 ; Dead Key : Math Symbols
786
787 dkMathSymbols := ComObjCreate("Scripting.Dictionary")
788 dkMathSymbols.item("a") := "∀" ; (u+2200) for all
789 dkMathSymbols.item("A") := "∀" ; (u+2200) for all
790 dkMathSymbols.item("b") := "⊆" ; (u+2286) subset of or equal to
791 dkMathSymbols.item("B") := "⊇" ; (u+2287) superset of or equal to
792 dkMathSymbols.item("c") := "∝" ; (u+221d) proportional to
793 dkMathSymbols.item("C") := "ℂ" ; (u+2102) complex numbers
794 dkMathSymbols.item("d") := "∆" ; (u+2206) increment operator
795 dkMathSymbols.item("D") := "∇" ; (u+2207) nable/del operator
796 dkMathSymbols.item("e") := "∃" ; (u+2203) there exists
797 dkMathSymbols.item("E") := "∄" ; (u+2204) there does not exist
798 dkMathSymbols.item("f") := "ƒ" ; (u+0192) f with hook
799 dkMathSymbols.item("F") := "∎" ; (u+220e) end of proof
800 dkMathSymbols.item("g") := "⊂" ; (u+2282) subset of
801 dkMathSymbols.item("G") := "⊄" ; (u+2284) not a subset of
802 dkMathSymbols.item("h") := "⊃" ; (u+2283) superset of
803 dkMathSymbols.item("H") := "⊅" ; (u+2285) not a superset of
804 dkMathSymbols.item("i") := "∞" ; (u+221e) infinity symbol
805 dkMathSymbols.item("I") := "∞" ; (u+221e) infinity symbol
806 dkMathSymbols.item("k") := "∋" ; (u+220b) contains as member
807 dkMathSymbols.item("K") := "∌" ; (u+220c) does not contain as member
808 dkMathSymbols.item("l") := "∥" ; (u+2225) parallel to
809 dkMathSymbols.item("L") := "∦" ; (u+2226) not parallel to
810 dkMathSymbols.item("m") := "∈" ; (u+2208) element of
811 dkMathSymbols.item("M") := "∉" ; (u+2209) not an element of
812 dkMathSymbols.item("n") := "ⁿ" ; (u+207f) superscript n
813 dkMathSymbols.item("N") := "ℕ" ; (u+2115) natural numbers
814 dkMathSymbols.item("o") := "∘" ; (u+2218) ring operator
815 dkMathSymbols.item("O") := "∅" ; (u+2205) empty set
816 dkMathSymbols.item("p") := "∂" ; (u+2202) partial differential
817 dkMathSymbols.item("P") := "ℙ" ; (u+2119) prime numbers
818 dkMathSymbols.item("q") := "ℚ" ; (u+211a) rational numbers
819 dkMathSymbols.item("Q") := "ℚ" ; (u+211a) rational numbers
820 dkMathSymbols.item("r") := "√" ; (u+221a) square root
821 dkMathSymbols.item("R") := "ℝ" ; (u+211d) real numbers
822 dkMathSymbols.item("s") := "∩" ; (u+2229) set intersection
823 dkMathSymbols.item("S") := "∫" ; (u+222b) integral symbol
824 dkMathSymbols.item("u") := "∪" ; (u+222a) set union
825 dkMathSymbols.item("U") := "∖" ; (u+2216) set minus
826 dkMathSymbols.item("w") := "℘" ; (u+2118) Weierstrass elliptic function
827 dkMathSymbols.item("W") := "℘" ; (u+2118) Weierstrass elliptic function
828 dkMathSymbols.item("z") := "↯" ; (u+21af) downwards zigzag arrow
829 dkMathSymbols.item("Z") := "ℤ" ; (u+2124) whole numbers
830 dkMathSymbols.item("!") := "≠" ; (u+2260) not equal to
831 dkMathSymbols.item("1") := "≠" ; (u+2260) not equal to
832 dkMathSymbols.item("@") := "√" ; (u+221a) square root
833 dkMathSymbols.item("2") := "√" ; (u+221a) square root
834 dkMathSymbols.item("#") := "∛" ; (u+221b) cube root
835 dkMathSymbols.item("3") := "∛" ; (u+221b) cube root
836 dkMathSymbols.item("$") := "∜" ; (u+221c) fourth root
837 dkMathSymbols.item("4") := "∜" ; (u+221c) fourth root
838 dkMathSymbols.item("%") := "‰" ; (u+2030) per mille sign
839 dkMathSymbols.item("5") := "‱" ; (u+2031) per ten thousand sign
840 dkMathSymbols.item("^") := "∠" ; (u+2220) angle symbol
841 dkMathSymbols.item("6") := "∠" ; (u+2220) angle symbol
842 dkMathSymbols.item("&") := "∧" ; (u+2227) logical and
843 dkMathSymbols.item("7") := "∧" ; (u+2227) logical and
844 dkMathSymbols.item("*") := "⊗" ; (u+2297) tensor product
845 dkMathSymbols.item("8") := "⊗" ; (u+2297) tensor product
846 dkMathSymbols.item("(") := "∟" ; (u+221f) right angle
847 dkMathSymbols.item("9") := "∟" ; (u+221f) right angle
848 dkMathSymbols.item(")") := "∡" ; (u+2221) measured angle
849 dkMathSymbols.item("0") := "∡" ; (u+2221) measured angle
850 dkMathSymbols.item("``") := "≈" ; (u+2248) almost equal to
851 dkMathSymbols.item("~") := "≈" ; (u+2248) almost equal to
852 dkMathSymbols.item(",") := "≤" ; (u+2264) less-than or equal to
853 dkMathSymbols.item("<") := "≤" ; (u+2264) less-than or equal to
854 dkMathSymbols.item(".") := "≥" ; (u+2265) greater-than or equal to
855 dkMathSymbols.item(">") := "≥" ; (u+2265) greater-than or equal to
856 dkMathSymbols.item("-") := "±" ; (u+00b1) plus-minus sign
857 dkMathSymbols.item("_") := "⊖" ; (u+2296) circled minus
858 dkMathSymbols.item("=") := "≝" ; (u+225d) equal to by definition
859 dkMathSymbols.item("+") := "⊕" ; (u+2295) exclusive or
860 dkMathSymbols.item(";") := "∵" ; (u+2235) because sign
861 dkMathSymbols.item(":") := "∴" ; (u+2234) therefore sign
862 dkMathSymbols.item("'") := "′" ; (u+2032) prime
863 dkMathSymbols.item("""") := "″" ; (u+2033) double prime
864 dkMathSymbols.item("/") := "‴" ; (u+2034) triple prime
865 dkMathSymbols.item("?") := "⁗" ; (u+2057) quadruple prime
866 dkMathSymbols.item("\") := "∨" ; (u+2228) logical or
867 dkMathSymbols.item("|") := "∨" ; (u+2228) logical or
868 dkMathSymbols.item(" ") := "√" ; (u+221a) square root
869
870
871 ; Configuration : Switch positions of symbols and digits
872
873 $1::Send {!} ; (u+0021) exclamation mark
874 $+1::Send 1 ; (u+0031) digit 1
875
876 $2::Send @ ; (u+0040) at sign
877 $+2::Send 2 ; (u+0032) digit 2
878
879 $3::Send {#} ; (u+0023) number sign
880 $+3::Send 3 ; (u+0033) digit 3
881
882 $4::Send $ ; (u+0024) dollar sign
883 $+4::Send 4 ; (u+0034) digit 4
884
885 $5::Send `% ; (u+0025) percent sign
886 $+5::Send 5 ; (u+0035) digit 5
887
888 $6::Send {^} ; (u+005e) circumflex accent
889 $+6::Send 6 ; (u+0036) digit 6
890
891 $7::Send & ; (u+0026) ampersand
892 $+7::Send 7 ; (u+0037) digit 7
893
894 $8::Send * ; (u+002a) asterisk
895 $+8::Send 8 ; (u+0038) digit 8
896
897 $9::Send ( ; (u+0028) left parenthesis
898 $+9::Send 9 ; (u+0039) digit 9
899
900 $0::Send ) ; (u+0029) right parenthesis
901 $+0::Send 0 ; (u+0030) digit 0
902
903
904 ; Configuration : Right Alt on US QWERTY
905
906 >!a::
907 if GetKeyState("CapsLock", "T")
908 Send Ä ; (u+00c4) A with diaeresis
909 else
910 Send ä ; (u+00e4) a with diaeresis
911 return
912 >!+a::
913 if GetKeyState("CapsLock", "T")
914 Send ä ; (u+00e4) a with diaeresis
915 else
916 Send Ä ; (u+00c4) A with diaeresis
917 return
918
919 >!z::
920 if GetKeyState("CapsLock", "T")
921 Send À ; (u+00c0) A with grave
922 else
923 Send à ; (u+00e0) a with grave
924 return
925 >!+z::
926 if GetKeyState("CapsLock", "T")
927 Send à ; (u+00e0) a with grave
928 else
929 Send À ; (u+00c0) A with grave
930 return
931
932 >!x::
933 if GetKeyState("CapsLock", "T")
934 Send Á ; (u+00c1) A with acute
935 else
936 Send á ; (u+00e1) a with acute
937 return
938 >!+x::
939 if GetKeyState("CapsLock", "T")
940 Send á ; (u+00e1) a with acute
941 else
942 Send Á ; (u+00c1) A with acute
943 return
944
945 >!q::
946 if GetKeyState("CapsLock", "T")
947 Send Æ ; (u+00c6) letter AE
948 else
949 Send æ ; (u+00e6) letter ae
950 return
951 >!+q::
952 if GetKeyState("CapsLock", "T")
953 Send æ ; (u+00e6) letter ae
954 else
955 Send Æ ; (u+00c6) letter AE
956 return
957
958 >!w::
959 if GetKeyState("CapsLock", "T")
960 Send Å ; (u+00c5) A with ring above
961 else
962 Send å ; (u+00e5) a with ring above
963 return
964 >!+w::
965 if GetKeyState("CapsLock", "T")
966 Send å ; (u+00e5)a with ring above
967 else
968 Send Å ; (u+00c5) A with ring above
969 return
970
971 >!c::
972 if GetKeyState("CapsLock", "T")
973 Send Ç ; (u+00c7) C with cedilla
974 else
975 Send ç ; (u+00e7) c with cedilla
976 return
977 >!+c::
978 if GetKeyState("CapsLock", "T")
979 Send ç ; (u+00e7) c with cedilla
980 else
981 Send Ç ; (u+00c7) C with cedilla
982 return
983
984 >!d::
985 if GetKeyState("CapsLock", "T")
986 Send Ð ; (u+00d0) capital letter eth
987 else
988 Send ð ; (u+00f0) small letter eth
989 return
990 >!+d::
991 if GetKeyState("CapsLock", "T")
992 Send ð ; (u+00f0) small letter eth
993 else
994 Send Ð ; (u+00d0) capital letter eth
995 return
996
997 >!e::
998 if GetKeyState("CapsLock", "T")
999 Send Ë ; (u+00cb) E with diaeresis
1000 else
1001 Send ë ; (u+00eb) e with diaeresis
1002 return
1003 >!+e::
1004 if GetKeyState("CapsLock", "T")
1005 Send ë ; (u+00eb) e with diaeresis
1006 else
1007 Send Ë ; (u+00cb) E with diaeresis
1008 return
1009
1010 >!f::
1011 if GetKeyState("CapsLock", "T")
1012 Send È ; (u+00c8) E with grave
1013 else
1014 Send è ; (u+00e8) e with grave
1015 return
1016 >!+f::
1017 if GetKeyState("CapsLock", "T")
1018 Send è ; (u+00e8) e with grave
1019 else
1020 Send È ; (u+00c8) E with grave
1021 return
1022
1023 >!g::
1024 if GetKeyState("CapsLock", "T")
1025 Send É ; (u+00c9) E with acute
1026 else
1027 Send é ; (u+00e9) e with acute
1028 return
1029 >!+g::
1030 if GetKeyState("CapsLock", "T")
1031 Send é ; (u+00e9) e with acute
1032 else
1033 Send É ; (u+00c9) E with acute
1034 return
1035
1036 >!i::
1037 if GetKeyState("CapsLock", "T")
1038 Send Ï ; (u+00cf) I with diaeresis
1039 else
1040 Send ï ; (u+00ef) i with diaeresis
1041 return
1042 >!+i::
1043 if GetKeyState("CapsLock", "T")
1044 Send ï ; (u+00ef) i with diaeresis
1045 else
1046 Send Ï ; (u+00cf) I with diaeresis
1047 return
1048
1049 >!v::
1050 if GetKeyState("CapsLock", "T")
1051 Send Ì ; (u+00cc) I with grave
1052 else
1053 Send ì ; (u+00ec) i with grave
1054 return
1055 >!+v::
1056 if GetKeyState("CapsLock", "T")
1057 Send ì ; (u+00ec) i with grave
1058 else
1059 Send Ì ; (u+00cc) I with grave
1060 return
1061
1062 >!b::
1063 if GetKeyState("CapsLock", "T")
1064 Send Í ; (u+00cd) I with acute
1065 else
1066 Send í ; (u+00ed) i with acute
1067 return
1068 >!+b::
1069 if GetKeyState("CapsLock", "T")
1070 Send í ; (u+00ed) i with acute
1071 else
1072 Send Í ; (u+00cd) I with acute
1073 return
1074
1075 >!o::
1076 if GetKeyState("CapsLock", "T")
1077 Send Ö ; (u+00d6) O with diaeresis
1078 else
1079 Send ö ; (u+00f6) o with diaeresis
1080 return
1081 >!+o::
1082 if GetKeyState("CapsLock", "T")
1083 Send ö ; (u+00f6) o with diaeresis
1084 else
1085 Send Ö ; (u+00d6) O with diaeresis
1086 return
1087
1088 >!,::
1089 if GetKeyState("CapsLock", "T")
1090 Send Ò ; (u+00d2) O with grave
1091 else
1092 Send ò ; (u+00f2) o with grave
1093 return
1094 >!<::
1095 if GetKeyState("CapsLock", "T")
1096 Send ò ; (u+00f2) o with grave
1097 else
1098 Send Ò ; (u+00d2) O with grave
1099 return
1100
1101 >!.::
1102 if GetKeyState("CapsLock", "T")
1103 Send Ó ; (u+00d3) O with acute
1104 else
1105 Send ó ; (u+00f3) o with acute
1106 return
1107 >!>::
1108 if GetKeyState("CapsLock", "T")
1109 Send ó ; (u+00f3) o with acute
1110 else
1111 Send Ó ; (u+00d3) O with acute
1112 return
1113
1114 >!k::
1115 if GetKeyState("CapsLock", "T")
1116 Send Œ ; (u+0152) ligature OE
1117 else
1118 Send œ ; (u+0153) ligature oe
1119 return
1120 >!+k::
1121 if GetKeyState("CapsLock", "T")
1122 Send œ ; (u+0153) ligature oe
1123 else
1124 Send Œ ; (u+0152) ligature OE
1125 return
1126
1127 >!l::
1128 if GetKeyState("CapsLock", "T")
1129 Send Ø ; (u+00d8) O with stroke
1130 else
1131 Send ø ; (u+00f8) o with stroke
1132 return
1133 >!+l::
1134 if GetKeyState("CapsLock", "T")
1135 Send ø ; (u+00f8) o with stroke
1136 else
1137 Send Ø ; (u+00d8) O with stroke
1138 return
1139
1140 >!n::
1141 if GetKeyState("CapsLock", "T")
1142 Send Ñ ; (u+00d1) N with tilde
1143 else
1144 Send ñ ; (u+00f1) n with tilde
1145 return
1146 >!+n::
1147 if GetKeyState("CapsLock", "T")
1148 Send ñ ; (u+00f1) n with tilde
1149 else
1150 Send Ñ ; (u+00d1) N with tilde
1151 return
1152
1153 >!t::
1154 if GetKeyState("CapsLock", "T")
1155 Send Þ ; (u+00de) capital letter thorn
1156 else
1157 Send þ ; (u+00fe) small letter thorn
1158 return
1159 >!+t::
1160 if GetKeyState("CapsLock", "T")
1161 Send þ ; (u+00fe) small letter thorn
1162 else
1163 Send Þ ; (u+00de) capital letter thorn
1164 return
1165
1166 >!u::
1167 if GetKeyState("CapsLock", "T")
1168 Send Ü ; (u+00dc) U with diaeresis
1169 else
1170 Send ü ; (u+00fc) u with diaeresis
1171 return
1172 >!+u::
1173 if GetKeyState("CapsLock", "T")
1174 Send ü ; (u+00fc) u with diaeresis
1175 else
1176 Send Ü ; (u+00dc) U with diaeresis
1177 return
1178
1179 >!h::
1180 if GetKeyState("CapsLock", "T")
1181 Send Ù ; (u+00d9) U with grave
1182 else
1183 Send ù ; (u+00f9) u with grave
1184 return
1185 >!+h::
1186 if GetKeyState("CapsLock", "T")
1187 Send ù ; (u+00f9) u with grave
1188 else
1189 Send Ù ; (u+00d9) U with grave
1190 return
1191
1192 >!j::
1193 if GetKeyState("CapsLock", "T")
1194 Send Ú ; (u+00da) U with acute
1195 else
1196 Send ú ; (u+00fa) u with acute
1197 return
1198 >!+j::
1199 if GetKeyState("CapsLock", "T")
1200 Send ú ; (u+00fa) u with acute
1201 else
1202 Send Ú ; (u+00da) U with acute
1203 return
1204
1205 >!y::
1206 if GetKeyState("CapsLock", "T")
1207 Send Ÿ ; (u+0178) Y with diaeresis
1208 else
1209 Send ÿ ; (u+00ff) y with diaeresis
1210 return
1211 >!+y::
1212 if GetKeyState("CapsLock", "T")
1213 Send ÿ ; (u+00ff) y with diaeresis
1214 else
1215 Send Ÿ ; (u+0178) Y with diaeresis
1216 return
1217
1218 >!r::
1219 if GetKeyState("CapsLock", "T")
1220 Send Ý ; (u+00dd) Y with acute
1221 else
1222 Send ý ; (u+00fd) y with acute
1223 return
1224 >!+r::
1225 if GetKeyState("CapsLock", "T")
1226 Send ý ; (u+00dd) y with acute
1227 else
1228 Send Ý ; (u+00fd) Y with acute
1229 return
1230
1231 >!p::Send † ; (u+2020) dagger
1232 >!+p::Send ‡ ; (u+2021) double dagger
1233
1234 >!s::Send ß ; (u+00df) small sharp s (Eszett)
1235 >!+s::Send § ; (u+00a7) section sign
1236
1237 >!/::Send ¿ ; (u+00bf) inverted question mark
1238 >!?::Send ¶ ; (u+00b6) pilcrow sign
1239
1240 >!1::Send ¡ ; (u+00a1) inverted exclamation mark
1241 >!+1::Send ¹ ; (u+00b9) superscript 1
1242
1243 >!2::Send © ; (u+00a9) copyright sign
1244 >!+2::Send ² ; (u+00b2) superscript 2
1245
1246 >!3::Send ± ; (u+00b1) plus-minus sign
1247 >!+3::Send ³ ; (u+00b3) superscript 3
1248
1249 >!4::Send £ ; (u+00a3) pound sign
1250 >!+4::Send ¥ ; (u+00a5) yen sign
1251
1252 >!5::Send € ; (u+20ac) euro sign
1253 >!+5::Send ¢ ; (u+00a2) cent sign (dollar)
1254
1255 >!8::Send „ ; (u+201e) double low-9 quotation mark
1256 >!+8::Send ‚ ; (u+201a) single low-9 quotation mark
1257
1258 >!9::Send “ ; (u+201c) left double quotation mark
1259 >!+9::Send ‘ ; (u+2018) left single quotation mark
1260
1261 >!0::Send ” ; (u+201d) right double quotation mark
1262 >!+0::Send ’ ; (u+2019) right single quotation mark
1263
1264 >!=::Send × ; (u+00d7) multiplication sign
1265 >!+=::Send ÷ ; (u+00f7) division sign
1266
1267 >![::Send « ; (u+00ab) left-pointing double angle quotation mark
1268 >!{::Send ‹ ; (u+2039) left-pointing single angle quotation mark
1269
1270 >!]::Send » ; (u+00bb) right-pointing double angle quotation mark
1271 >!}::Send › ; (u+203a) right-pointing single angle quotation mark
1272
1273 >!;::Send ° ; (u+00b0) degree sign
1274 >!+;::Send · ; (u+00b7) middle dot
1275
1276 >!6::
1277 Input, key, L1, {bs}{del}{esc}{home}{end}
1278 Send % dkCircumflex.item(key)
1279 return
1280 >!+6::
1281 Input, key, L1, {bs}{del}{esc}{home}{end}
1282 Send % dkCaron.item(key)
1283 return
1284
1285 >!7::
1286 Input, key, L1, {bs}{del}{esc}{home}{end}
1287 Send % dkRingDotAbove.item(key)
1288 return
1289 >!+7::
1290 Input, key, L1, {bs}{del}{esc}{home}{end}
1291 Send % dkMacronStroke.item(key)
1292 return
1293
1294 >!-::
1295 Input, key, L1, {bs}{del}{esc}{home}{end}
1296 Send % dkCedillaOgonek.item(key)
1297 return
1298 >!_::
1299 Input, key, L1, {bs}{del}{esc}{home}{end}
1300 Send % dkBreveSpecial.item(key)
1301 return
1302
1303 >!'::
1304 Input, key, L1, {bs}{del}{esc}{home}{end}
1305 Send % dkAcuteAccent.item(key)
1306 return
1307 >!"::
1308 Input, key, L1, {bs}{del}{esc}{home}{end}
1309 Send % dkDiaeresis.item(key)
1310 return
1311
1312 >!`::
1313 Input, key, L1, {bs}{del}{esc}{home}{end}
1314 Send % dkGraveAccent.item(key)
1315 return
1316 >!~::
1317 Input, key, L1, {bs}{del}{esc}{home}{end}
1318 Send % dkTilde.item(key)
1319 return
1320
1321 >!\::
1322 Input, key, L1, {bs}{del}{esc}{home}{end}
1323 Send % dkNotSign.item(key)
1324 return
1325 >!|::
1326 Input, key, L1, {bs}{del}{esc}{home}{end}
1327 Send % dkBrokenBar.item(key)
1328 return
1329
1330 >!m::
1331 Input, key, L1, {bs}{del}{esc}{home}{end}
1332 Send % dkGreekAlphabet.item(key)
1333 return
1334 >!+m::
1335 Input, key, L1, {bs}{del}{esc}{home}{end}
1336 Send % dkMathSymbols.item(key)
1337 return
1338
1339 >!space::Send   ; (u+00a0) non-breaking space
1340 >!+space::Send   ; (u+00a0) non-breaking space